<?php
namespace Home\Controller;
use Think\Controller;
class PaytestController extends CommonController{
	
	/**
	*接口订单处理函数
	*@param array $channel_info 通道信息
	*@param array $site_info 交易网站信息
	*@param array $order_info 订单信息
	*/
	public function process($channel_info,$site_info,$order_info){
		//暂停3秒
		sleep(3);
		$bk_data['order_id']=$order_info['order_id'];
		//第一步，先写入数据IPS订单号
		$order=new \Common\Common\OrderProcess($order_info['order_id']);
		$order_data['ips_id']=$channel_info["cn_id"]."-".$site_info["site_mid"]."-".$site_info["site_id"]."-Paytest";
		$order->magicProcess($order_data);
				
		if($channel_info['cn_currency']!="CNY"){
			$bk_data['order_status']=6;//交易拒绝
			$bk_data['order_failed_reason']="Invalid currency code";
			$order->toDecline($bk_data['order_failed_reason']);	
		}elseif($channel_info['cn_key1']=="pending"){
			$bk_data['order_status']=1;//pending
		}else{
			if($site_info['site_process_mode']){
			$bk_data['order_status']=2;//success
			$order->toApprove();
			}else{
			$bk_data['order_status']=3;//authorize
			$order->toAuthorize();				
			}
		}
		//计入系统通知，可以查看通知情况
		$in_title="Paytest接口(credit card)-Payease/index-直连即时通知-".$order_data['ips_id']."-".$bk_data['order_status'];
		$in_content="Paytest接口测试通知";
		$in_oid=$order_info['order_id'];
		$this->inputIPS($in_title,$in_content,$in_oid);
		/////////////////////////////////////		
		
		return $bk_data;
	}
	
	/**
	*接口订单退款处理函数
	*@param array $order_info 退款订单信息
	*@param decimal(12,2) refund_amount 退款的通道金额
	*/
	public function refund($order_info,$refund_amount){
		//暂停3秒
		sleep(3);
		//ips通知
		$in_title="Paytest(credit card)-自动退款-".$order_info["order_id"]."-测试退款成功";
		$in_content=dump($refund_amount,false)."<hr>测试Paytest退款内容";
		$this->inputIPS($in_title,$in_content,$order_info["order_id"]);

		$order=new \Common\Common\OrderProcess($order_info["order_id"]);
		//退款成功
		$order->toRefund();
		return true;	
	}
	
	/**
	*异步通知处理函数
	*/
	public function notifyUrl(){
		
	}
	
	/**
	*同步通知处理函数
	*/
	public function returnUrl(){
		
	}
	
}